home *** CD-ROM | disk | FTP | other *** search
/ F1 Licenseware / F1 Licenseware - Volume 1.iso / disks / 055a.dms / 055a.adf / READERS_SOURCE.LHA / READERS_SOURCE / A_CAMPBELL / AJC-DOMAIN-GAME.AMOS / AJC-DOMAIN-GAME.amosSourceCode next >
AMOS Source Code  |  1992-02-26  |  4KB  |  131 lines

  1. '
  2. ' "DOMAIN" - A game never finished by Andrew Campbell
  3. '
  4. ' Use the mouse to play this one. If anyone makes anything GOOD out
  5. ' of this program, send it to me (or at least give me a credit!).
  6. '
  7.  
  8. Global CB,C1,C0,X,Y,U,D,A$,A,B,C,AMMO,TL,TACK,FREBOB,LVL
  9.  
  10. Default Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  11. Screen Open 0,320,200,32,Lowres : Curs Off : Flash Off 
  12. Cls 0 : Fade 1 To -1 : Wait 15
  13.  
  14. For I=0 To 15 : Channel I To Bob I : Next I
  15. Make Mask : Change Mouse 4
  16. Reserve Zone 10 : Double Buffer : Autoback 1
  17.  
  18. Gosub SETZ
  19. Bob 0,150,190,4
  20. For I=1 To 7 : Bob 1+I,I*5,150-I*20,26 : Amal 1+I,"M 320,0,499 ; M -320,0,450" : Amal On : Next I
  21. Limit Mouse 129,50 To 446,247
  22. TACK=1 : AMMO=30 : FREBOB=13 : LVL=1
  23. Paper 0 : Pen 2
  24. Locate 0,1 : Print AMMO
  25. Timer=0 : TL=99
  26.  
  27. MAIN:
  28.  
  29. Repeat 
  30.  
  31.  MZ=Mouse Zone
  32.   C_CHECK
  33.   Locate 33,1 : Print TL-Timer/50;" "
  34.   If MZ=1 and TACK=1 : Change Mouse 6 : TACK=0 : End If 
  35.   If MZ=0 and TACK=0 : Change Mouse 4 : TACK=1 : End If 
  36.   If Mouse Key=1 and TACK=0 : Gosub MMAN : End If 
  37.   If Mouse Key=1 and TACK=1 : Goto NXT : End If 
  38.  
  39. Until Mouse Key and TACK=1
  40.  
  41. NXT:
  42.  
  43.  If TACK=1
  44.  
  45. '
  46. ' Below ( L=Left / R=right / U=Straight up / UI=Up and In to backG ) 
  47. '
  48.   Dec AMMO : Locate 0,1 : Print AMMO;" "
  49.   L=0 : R=0 : U=0 : UI=0 : LU=0 : RU=0
  50.   A$="(8,5)"
  51.   XB=X Bob(0) : YB=Y Bob(0)
  52.  
  53.   If XB<X Screen(X Mouse) : A$="(9,5)" : UI=1 : End If 
  54.   If XB>X Screen(X Mouse) : A$="(10,5)" : UI=1 : End If 
  55.   If XB<X Screen(X Mouse)-50 and Y Screen(Y Mouse)>130 : A$="(12,5)" : R=1 : End If 
  56.   If XB>X Screen(X Mouse)+50 and Y Screen(Y Mouse)>130 : A$="(11,5)" : L=1 : End If 
  57.   If XB<X Screen(X Mouse)-50 and Y Screen(Y Mouse)<131 : A$="(9,5)" : RU=1 : End If 
  58.   If XB>X Screen(X Mouse)+50 and Y Screen(Y Mouse)<131 : A$="(10,5)" : LU=1 : End If 
  59.  
  60.   MZ=Mouse Zone
  61.   If MZ=2 : A$="(8,5)" : U=1 : RU=0 : LU=0 : End If 
  62.   If L=0 and R=0 and U=0 and LU=0 and RU=0 : UI=1 : A$="(8,5)" : End If 
  63.  
  64.   Amal 0,"A 1,(5,4)(6,4)(7,4)(8,4)"+A$ : Amal On 0
  65.   Repeat : Until Mouse Key=0
  66.  End If 
  67.  
  68. '
  69. ' Register ox = X offset where arrow starts / oy = Y offset. 
  70. '
  71.   TX=X Screen(X Mouse) : TY=Y Screen(Y Mouse)
  72.   Repeat : C_CHECK : Locate 33,1 : Print TL-Timer/50;" " : Until Chanan(0)=0
  73.  
  74.    A$=""
  75.    If U=1 : OX=-3 : OY=30 : A$="A 1,(18,20)(25,1) ;" : End If 
  76.    If UI=1 : OX=-3 : OY=32 : A$="A 1,(22,10)(23,5)(24,5)(25,1) ;" : End If 
  77.    If L=1 : OX=-14 : OY=20 : A$="A 1,(15,20)(25,1) ;" : End If 
  78.    If R=1 : OX=14 : OY=20 : A$="A 1,(21,20)(25,1) ;" : End If 
  79.    If LU=1 : OX=-16 : OY=30 : A$="A 1,(17,20)(25,1) ;" : End If 
  80.    If RU=1 : OX=16 : OY=30 : A$="A 1,(19,20)(25,1) ;" : End If 
  81.  
  82.    Bob 1,X Bob(0)+OX,Y Bob(0)-OY,25 : Wait Vbl 
  83.    A$=A$+"M XS(0,XM)-X,YS(0,YM)-Y,20" : Amal 1,A$ : Amal On 1
  84.  
  85.    Repeat : C_CHECK : Until Chanan(1)=0 : Amal 0,"A 1,(8,4)(13,4)(14,4)(4,4)" : Amal On 0
  86.  
  87. Goto MAIN
  88.  
  89. MMAN:
  90.  A$="M XS(0,XM)-X,0,20" : Amal 0,A$ : Amal On 0 : Repeat : C_CHECK : Until Chanmv(0)=0
  91. Return 
  92.  
  93. SETZ:
  94. Set Zone 1,0,180 To 320,200 : Rem ----> Walking area check (TACK=0)  
  95. Set Zone 2,75,0 To 320-75,50 : Rem -----> Fire up (U) 
  96. Return 
  97.  
  98. Procedure C_CHECK
  99.  
  100. C1=0 : C0=0
  101. C0=Bob Col(0)
  102. C1=Bob Col(1)
  103.  
  104.  If Col(C1)>0 Then CB=Col(C1) : HIT_BADDIE
  105.  
  106. End Proc
  107. Procedure HIT_BADDIE
  108.  
  109. '--------------------------- 
  110. ' Check the Creatures images 
  111. '--------------------------- 
  112.  
  113. If CB>12 and CB<16 Then Pop Proc
  114.  
  115. If LVL=1
  116.  IM=I Bob(CB) : Amal Off(1) : Bob Off(1)
  117.   Amal Off(CB) : Bob FREBOB,X Bob(CB),Y Bob(CB),IM : Bob Off(CB)
  118.  
  119.    If IM=26 : A$="A 1,(27,5)(28,5)(29,10)(25,1)" : End If 
  120.  
  121.   Amal FREBOB,A$ : Amal On(FREBOB)
  122.  
  123. End If 
  124.  
  125.  
  126. End Proc
  127. Procedure F_BOBS
  128.  
  129. If FREBOB>15 Then FREBOB=13
  130.  
  131. End Proc